AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.
Edits an existing item's attributes, or adds a new item to the table if it does not already exist. You can put, delete, or add attribute values. You can also perform a conditional update on an existing item (insert a new attribute name-value pair if it doesn't exist, or replace an existing name-value pair if it has certain expected attribute values).
You can also return the item's attribute values in the same UpdateItem
operation
using the ReturnValues
parameter.
For .NET Core this operation is only available in asynchronous form. Please refer to UpdateItemAsync.
Namespace: Amazon.DynamoDBv2
Assembly: AWSSDK.DynamoDBv2.dll
Version: 3.x.y.z
public abstract UpdateItemResponse UpdateItem( String tableName, Dictionary<String, AttributeValue> key, Dictionary<String, AttributeValueUpdate> attributeUpdates, ReturnValue returnValues )
The name of the table containing the item to update. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.
The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute. For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.
This is a legacy parameter. Use UpdateExpression instead. For more information, see AttributeUpdates in the Amazon DynamoDB Developer Guide.
Use ReturnValues if you want to get the item attributes as they appear before or after they are successfully updated. For UpdateItem, the valid values are: NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.) ALL_OLD - Returns all of the attributes of the item, as they appeared before the UpdateItem operation. UPDATED_OLD - Returns only the updated attributes, as they appeared before the UpdateItem operation. ALL_NEW - Returns all of the attributes of the item, as they appear after the UpdateItem operation. UPDATED_NEW - Returns only the updated attributes, as they appear after the UpdateItem operation. There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed. The values returned are strongly consistent.
Exception | Condition |
---|---|
ConditionalCheckFailedException | A condition specified in the operation could not be evaluated. |
InternalServerErrorException | An error occurred on the server side. |
ItemCollectionSizeLimitExceededException | An item collection is too large. This exception is only returned for tables that have one or more local secondary indexes. |
ProvisionedThroughputExceededException | Your request rate is too high. The Amazon Web Services SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide. |
ReplicatedWriteConflictException | The request was rejected because one or more items in the request are being modified by a request in another Region. |
RequestLimitExceededException | Throughput exceeds the current throughput quota for your account. Please contact Amazon Web Services Support to request a quota increase. |
ResourceNotFoundException | The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be ACTIVE. |
TransactionConflictException | Operation was rejected because there is an ongoing transaction for the item. |
.NET Framework:
Supported in: 4.5 and newer, 3.5